#!/bin/bash
# OpenManus Java 开发环境启动脚本

set -e

echo "===================================="
echo "OpenManus Java 开发环境启动"
echo "===================================="

# 检查 Java 版本
echo "检查 Java 版本..."
if ! java -version 2>&1 | grep -q "version"; then
    echo "错误: 未找到 Java 环境，请安装 Java 21+"
    exit 1
fi

# 检查 Docker
echo "检查 Docker..."
if ! docker --version > /dev/null 2>&1; then
    echo "错误: 未找到 Docker，请安装 Docker"
    exit 1
fi

# 启动依赖服务
echo ""
echo "启动依赖服务 (PostgreSQL, Redis, RabbitMQ)..."
docker-compose -f docker-compose.dev.yml up -d

# 等待服务启动
echo ""
echo "等待服务启动完成..."
sleep 10

# 检查服务状态
echo ""
echo "检查服务状态..."
docker-compose -f docker-compose.dev.yml ps

# 设置环境变量
echo ""
echo "设置环境变量..."
export SPRING_PROFILES_ACTIVE=dev
export DB_HOST=localhost
export DB_PORT=5433
export REDIS_HOST=localhost
export REDIS_PORT=6380
export RABBITMQ_HOST=localhost
export RABBITMQ_PORT=5673

# 检查环境变量文件
if [ ! -f ".env" ]; then
    echo "警告: 未找到 .env 文件，请从 env.example 复制并配置 API 密钥"
    echo "cp env.example .env"
fi

# 启动应用
echo ""
echo "启动 OpenManus Java 应用..."
echo "提示: 请确保在 .env 中配置了正确的 API 密钥"
echo ""

./mvnw spring-boot:run

echo ""
echo "应用已停止"
